/*
 * XML Type:  Condition
 * Namespace: http:///org/isistan/flabot/coremodel.ecore
 * Java type: org.isistan.flabot.coremodelEcore.Condition
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.coremodelEcore.impl;
/**
 * An XML Condition(@http:///org/isistan/flabot/coremodel.ecore).
 *
 * This is a complex type.
 */
public class ConditionImpl extends org.isistan.flabot.coremodelEcore.impl.NamedElementModelImpl implements org.isistan.flabot.coremodelEcore.Condition
{
    private static final long serialVersionUID = 1L;
    
    public ConditionImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }
    
    private static final javax.xml.namespace.QName USECASEMAP$0 = 
        new javax.xml.namespace.QName("", "useCaseMap");
    private static final javax.xml.namespace.QName EVENT$2 = 
        new javax.xml.namespace.QName("", "event");
    private static final javax.xml.namespace.QName FAMILY$4 = 
        new javax.xml.namespace.QName("", "family");
    private static final javax.xml.namespace.QName SOURCERESPONSIBILITY$6 = 
        new javax.xml.namespace.QName("", "sourceResponsibility");
    private static final javax.xml.namespace.QName DEPENDENCYRESPONSIBILITY$8 = 
        new javax.xml.namespace.QName("", "dependencyResponsibility");
    private static final javax.xml.namespace.QName VALUE$10 = 
        new javax.xml.namespace.QName("", "value");
    private static final javax.xml.namespace.QName TYPE2$12 = 
        new javax.xml.namespace.QName("", "type");
    private static final javax.xml.namespace.QName USECASEMAP2$14 = 
        new javax.xml.namespace.QName("", "useCaseMap");
    private static final javax.xml.namespace.QName EVENT2$16 = 
        new javax.xml.namespace.QName("", "event");
    private static final javax.xml.namespace.QName FAMILY2$18 = 
        new javax.xml.namespace.QName("", "family");
    private static final javax.xml.namespace.QName SOURCERESPONSIBILITY2$20 = 
        new javax.xml.namespace.QName("", "sourceResponsibility");
    private static final javax.xml.namespace.QName DEPENDENCYRESPONSIBILITY2$22 = 
        new javax.xml.namespace.QName("", "dependencyResponsibility");
    
    
    /**
     * Gets array of all "useCaseMap" elements
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap[] getUseCaseMapArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(USECASEMAP2$14, targetList);
            org.isistan.flabot.coremodelEcore.UseCaseMap[] result = new org.isistan.flabot.coremodelEcore.UseCaseMap[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "useCaseMap" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap getUseCaseMapArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(USECASEMAP2$14, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "useCaseMap" element
     */
    public int sizeOfUseCaseMapArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(USECASEMAP2$14);
        }
    }
    
    /**
     * Sets array of all "useCaseMap" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setUseCaseMapArray(org.isistan.flabot.coremodelEcore.UseCaseMap[] useCaseMapArray)
    {
        check_orphaned();
        arraySetterHelper(useCaseMapArray, USECASEMAP2$14);
    }
    
    /**
     * Sets ith "useCaseMap" element
     */
    public void setUseCaseMapArray(int i, org.isistan.flabot.coremodelEcore.UseCaseMap useCaseMap)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().find_element_user(USECASEMAP2$14, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(useCaseMap);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "useCaseMap" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap insertNewUseCaseMap(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().insert_element_user(USECASEMAP2$14, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "useCaseMap" element
     */
    public org.isistan.flabot.coremodelEcore.UseCaseMap addNewUseCaseMap()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.UseCaseMap target = null;
            target = (org.isistan.flabot.coremodelEcore.UseCaseMap)get_store().add_element_user(USECASEMAP2$14);
            return target;
        }
    }
    
    /**
     * Removes the ith "useCaseMap" element
     */
    public void removeUseCaseMap(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(USECASEMAP2$14, i);
        }
    }
    
    /**
     * Gets array of all "event" elements
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent[] getEventArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(EVENT2$16, targetList);
            org.isistan.flabot.coremodelEcore.ConditionEvent[] result = new org.isistan.flabot.coremodelEcore.ConditionEvent[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "event" element
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent getEventArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().find_element_user(EVENT2$16, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "event" element
     */
    public int sizeOfEventArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(EVENT2$16);
        }
    }
    
    /**
     * Sets array of all "event" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setEventArray(org.isistan.flabot.coremodelEcore.ConditionEvent[] eventArray)
    {
        check_orphaned();
        arraySetterHelper(eventArray, EVENT2$16);
    }
    
    /**
     * Sets ith "event" element
     */
    public void setEventArray(int i, org.isistan.flabot.coremodelEcore.ConditionEvent event)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().find_element_user(EVENT2$16, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(event);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "event" element
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent insertNewEvent(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().insert_element_user(EVENT2$16, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "event" element
     */
    public org.isistan.flabot.coremodelEcore.ConditionEvent addNewEvent()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ConditionEvent target = null;
            target = (org.isistan.flabot.coremodelEcore.ConditionEvent)get_store().add_element_user(EVENT2$16);
            return target;
        }
    }
    
    /**
     * Removes the ith "event" element
     */
    public void removeEvent(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(EVENT2$16, i);
        }
    }
    
    /**
     * Gets array of all "family" elements
     */
    public org.isistan.flabot.coremodelEcore.Family[] getFamilyArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(FAMILY2$18, targetList);
            org.isistan.flabot.coremodelEcore.Family[] result = new org.isistan.flabot.coremodelEcore.Family[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "family" element
     */
    public org.isistan.flabot.coremodelEcore.Family getFamilyArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().find_element_user(FAMILY2$18, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "family" element
     */
    public int sizeOfFamilyArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(FAMILY2$18);
        }
    }
    
    /**
     * Sets array of all "family" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setFamilyArray(org.isistan.flabot.coremodelEcore.Family[] familyArray)
    {
        check_orphaned();
        arraySetterHelper(familyArray, FAMILY2$18);
    }
    
    /**
     * Sets ith "family" element
     */
    public void setFamilyArray(int i, org.isistan.flabot.coremodelEcore.Family family)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().find_element_user(FAMILY2$18, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(family);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "family" element
     */
    public org.isistan.flabot.coremodelEcore.Family insertNewFamily(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().insert_element_user(FAMILY2$18, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "family" element
     */
    public org.isistan.flabot.coremodelEcore.Family addNewFamily()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.Family target = null;
            target = (org.isistan.flabot.coremodelEcore.Family)get_store().add_element_user(FAMILY2$18);
            return target;
        }
    }
    
    /**
     * Removes the ith "family" element
     */
    public void removeFamily(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(FAMILY2$18, i);
        }
    }
    
    /**
     * Gets array of all "sourceResponsibility" elements
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode[] getSourceResponsibilityArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(SOURCERESPONSIBILITY2$20, targetList);
            org.isistan.flabot.coremodelEcore.ResponsibilityNode[] result = new org.isistan.flabot.coremodelEcore.ResponsibilityNode[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "sourceResponsibility" element
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode getSourceResponsibilityArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().find_element_user(SOURCERESPONSIBILITY2$20, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "sourceResponsibility" element
     */
    public int sizeOfSourceResponsibilityArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(SOURCERESPONSIBILITY2$20);
        }
    }
    
    /**
     * Sets array of all "sourceResponsibility" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setSourceResponsibilityArray(org.isistan.flabot.coremodelEcore.ResponsibilityNode[] sourceResponsibilityArray)
    {
        check_orphaned();
        arraySetterHelper(sourceResponsibilityArray, SOURCERESPONSIBILITY2$20);
    }
    
    /**
     * Sets ith "sourceResponsibility" element
     */
    public void setSourceResponsibilityArray(int i, org.isistan.flabot.coremodelEcore.ResponsibilityNode sourceResponsibility)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().find_element_user(SOURCERESPONSIBILITY2$20, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(sourceResponsibility);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "sourceResponsibility" element
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode insertNewSourceResponsibility(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().insert_element_user(SOURCERESPONSIBILITY2$20, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "sourceResponsibility" element
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode addNewSourceResponsibility()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().add_element_user(SOURCERESPONSIBILITY2$20);
            return target;
        }
    }
    
    /**
     * Removes the ith "sourceResponsibility" element
     */
    public void removeSourceResponsibility(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(SOURCERESPONSIBILITY2$20, i);
        }
    }
    
    /**
     * Gets array of all "dependencyResponsibility" elements
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode[] getDependencyResponsibilityArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            java.util.List targetList = new java.util.ArrayList();
            get_store().find_all_element_users(DEPENDENCYRESPONSIBILITY2$22, targetList);
            org.isistan.flabot.coremodelEcore.ResponsibilityNode[] result = new org.isistan.flabot.coremodelEcore.ResponsibilityNode[targetList.size()];
            targetList.toArray(result);
            return result;
        }
    }
    
    /**
     * Gets ith "dependencyResponsibility" element
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode getDependencyResponsibilityArray(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().find_element_user(DEPENDENCYRESPONSIBILITY2$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            return target;
        }
    }
    
    /**
     * Returns number of "dependencyResponsibility" element
     */
    public int sizeOfDependencyResponsibilityArray()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().count_elements(DEPENDENCYRESPONSIBILITY2$22);
        }
    }
    
    /**
     * Sets array of all "dependencyResponsibility" element  WARNING: This method is not atomicaly synchronized.
     */
    public void setDependencyResponsibilityArray(org.isistan.flabot.coremodelEcore.ResponsibilityNode[] dependencyResponsibilityArray)
    {
        check_orphaned();
        arraySetterHelper(dependencyResponsibilityArray, DEPENDENCYRESPONSIBILITY2$22);
    }
    
    /**
     * Sets ith "dependencyResponsibility" element
     */
    public void setDependencyResponsibilityArray(int i, org.isistan.flabot.coremodelEcore.ResponsibilityNode dependencyResponsibility)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().find_element_user(DEPENDENCYRESPONSIBILITY2$22, i);
            if (target == null)
            {
                throw new IndexOutOfBoundsException();
            }
            target.set(dependencyResponsibility);
        }
    }
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "dependencyResponsibility" element
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode insertNewDependencyResponsibility(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().insert_element_user(DEPENDENCYRESPONSIBILITY2$22, i);
            return target;
        }
    }
    
    /**
     * Appends and returns a new empty value (as xml) as the last "dependencyResponsibility" element
     */
    public org.isistan.flabot.coremodelEcore.ResponsibilityNode addNewDependencyResponsibility()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.isistan.flabot.coremodelEcore.ResponsibilityNode target = null;
            target = (org.isistan.flabot.coremodelEcore.ResponsibilityNode)get_store().add_element_user(DEPENDENCYRESPONSIBILITY2$22);
            return target;
        }
    }
    
    /**
     * Removes the ith "dependencyResponsibility" element
     */
    public void removeDependencyResponsibility(int i)
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_element(DEPENDENCYRESPONSIBILITY2$22, i);
        }
    }
    
    /**
     * Gets the "value" attribute
     */
    public java.lang.String getValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VALUE$10);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "value" attribute
     */
    public org.apache.xmlbeans.XmlString xgetValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VALUE$10);
            return target;
        }
    }
    
    /**
     * True if has "value" attribute
     */
    public boolean isSetValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(VALUE$10) != null;
        }
    }
    
    /**
     * Sets the "value" attribute
     */
    public void setValue(java.lang.String value)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(VALUE$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(VALUE$10);
            }
            target.setStringValue(value);
        }
    }
    
    /**
     * Sets (as xml) the "value" attribute
     */
    public void xsetValue(org.apache.xmlbeans.XmlString value)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(VALUE$10);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(VALUE$10);
            }
            target.set(value);
        }
    }
    
    /**
     * Unsets the "value" attribute
     */
    public void unsetValue()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(VALUE$10);
        }
    }
    
    /**
     * Gets the "type" attribute
     */
    public java.lang.String getType2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TYPE2$12);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "type" attribute
     */
    public org.apache.xmlbeans.XmlString xgetType2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(TYPE2$12);
            return target;
        }
    }
    
    /**
     * True if has "type" attribute
     */
    public boolean isSetType2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(TYPE2$12) != null;
        }
    }
    
    /**
     * Sets the "type" attribute
     */
    public void setType2(java.lang.String type2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(TYPE2$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(TYPE2$12);
            }
            target.setStringValue(type2);
        }
    }
    
    /**
     * Sets (as xml) the "type" attribute
     */
    public void xsetType2(org.apache.xmlbeans.XmlString type2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(TYPE2$12);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(TYPE2$12);
            }
            target.set(type2);
        }
    }
    
    /**
     * Unsets the "type" attribute
     */
    public void unsetType2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(TYPE2$12);
        }
    }
    
    /**
     * Gets the "useCaseMap" attribute
     */
    public java.lang.String getUseCaseMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(USECASEMAP2$14);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "useCaseMap" attribute
     */
    public org.apache.xmlbeans.XmlString xgetUseCaseMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(USECASEMAP2$14);
            return target;
        }
    }
    
    /**
     * True if has "useCaseMap" attribute
     */
    public boolean isSetUseCaseMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(USECASEMAP2$14) != null;
        }
    }
    
    /**
     * Sets the "useCaseMap" attribute
     */
    public void setUseCaseMap2(java.lang.String useCaseMap2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(USECASEMAP2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(USECASEMAP2$14);
            }
            target.setStringValue(useCaseMap2);
        }
    }
    
    /**
     * Sets (as xml) the "useCaseMap" attribute
     */
    public void xsetUseCaseMap2(org.apache.xmlbeans.XmlString useCaseMap2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(USECASEMAP2$14);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(USECASEMAP2$14);
            }
            target.set(useCaseMap2);
        }
    }
    
    /**
     * Unsets the "useCaseMap" attribute
     */
    public void unsetUseCaseMap2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(USECASEMAP2$14);
        }
    }
    
    /**
     * Gets the "event" attribute
     */
    public java.lang.String getEvent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(EVENT2$16);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "event" attribute
     */
    public org.apache.xmlbeans.XmlString xgetEvent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(EVENT2$16);
            return target;
        }
    }
    
    /**
     * True if has "event" attribute
     */
    public boolean isSetEvent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(EVENT2$16) != null;
        }
    }
    
    /**
     * Sets the "event" attribute
     */
    public void setEvent2(java.lang.String event2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(EVENT2$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(EVENT2$16);
            }
            target.setStringValue(event2);
        }
    }
    
    /**
     * Sets (as xml) the "event" attribute
     */
    public void xsetEvent2(org.apache.xmlbeans.XmlString event2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(EVENT2$16);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(EVENT2$16);
            }
            target.set(event2);
        }
    }
    
    /**
     * Unsets the "event" attribute
     */
    public void unsetEvent2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(EVENT2$16);
        }
    }
    
    /**
     * Gets the "family" attribute
     */
    public java.lang.String getFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FAMILY2$18);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "family" attribute
     */
    public org.apache.xmlbeans.XmlString xgetFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FAMILY2$18);
            return target;
        }
    }
    
    /**
     * True if has "family" attribute
     */
    public boolean isSetFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(FAMILY2$18) != null;
        }
    }
    
    /**
     * Sets the "family" attribute
     */
    public void setFamily2(java.lang.String family2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(FAMILY2$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(FAMILY2$18);
            }
            target.setStringValue(family2);
        }
    }
    
    /**
     * Sets (as xml) the "family" attribute
     */
    public void xsetFamily2(org.apache.xmlbeans.XmlString family2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(FAMILY2$18);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(FAMILY2$18);
            }
            target.set(family2);
        }
    }
    
    /**
     * Unsets the "family" attribute
     */
    public void unsetFamily2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(FAMILY2$18);
        }
    }
    
    /**
     * Gets the "sourceResponsibility" attribute
     */
    public java.lang.String getSourceResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SOURCERESPONSIBILITY2$20);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "sourceResponsibility" attribute
     */
    public org.apache.xmlbeans.XmlString xgetSourceResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(SOURCERESPONSIBILITY2$20);
            return target;
        }
    }
    
    /**
     * True if has "sourceResponsibility" attribute
     */
    public boolean isSetSourceResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(SOURCERESPONSIBILITY2$20) != null;
        }
    }
    
    /**
     * Sets the "sourceResponsibility" attribute
     */
    public void setSourceResponsibility2(java.lang.String sourceResponsibility2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(SOURCERESPONSIBILITY2$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(SOURCERESPONSIBILITY2$20);
            }
            target.setStringValue(sourceResponsibility2);
        }
    }
    
    /**
     * Sets (as xml) the "sourceResponsibility" attribute
     */
    public void xsetSourceResponsibility2(org.apache.xmlbeans.XmlString sourceResponsibility2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(SOURCERESPONSIBILITY2$20);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(SOURCERESPONSIBILITY2$20);
            }
            target.set(sourceResponsibility2);
        }
    }
    
    /**
     * Unsets the "sourceResponsibility" attribute
     */
    public void unsetSourceResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(SOURCERESPONSIBILITY2$20);
        }
    }
    
    /**
     * Gets the "dependencyResponsibility" attribute
     */
    public java.lang.String getDependencyResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DEPENDENCYRESPONSIBILITY2$22);
            if (target == null)
            {
                return null;
            }
            return target.getStringValue();
        }
    }
    
    /**
     * Gets (as xml) the "dependencyResponsibility" attribute
     */
    public org.apache.xmlbeans.XmlString xgetDependencyResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DEPENDENCYRESPONSIBILITY2$22);
            return target;
        }
    }
    
    /**
     * True if has "dependencyResponsibility" attribute
     */
    public boolean isSetDependencyResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            return get_store().find_attribute_user(DEPENDENCYRESPONSIBILITY2$22) != null;
        }
    }
    
    /**
     * Sets the "dependencyResponsibility" attribute
     */
    public void setDependencyResponsibility2(java.lang.String dependencyResponsibility2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.SimpleValue target = null;
            target = (org.apache.xmlbeans.SimpleValue)get_store().find_attribute_user(DEPENDENCYRESPONSIBILITY2$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.SimpleValue)get_store().add_attribute_user(DEPENDENCYRESPONSIBILITY2$22);
            }
            target.setStringValue(dependencyResponsibility2);
        }
    }
    
    /**
     * Sets (as xml) the "dependencyResponsibility" attribute
     */
    public void xsetDependencyResponsibility2(org.apache.xmlbeans.XmlString dependencyResponsibility2)
    {
        synchronized (monitor())
        {
            check_orphaned();
            org.apache.xmlbeans.XmlString target = null;
            target = (org.apache.xmlbeans.XmlString)get_store().find_attribute_user(DEPENDENCYRESPONSIBILITY2$22);
            if (target == null)
            {
                target = (org.apache.xmlbeans.XmlString)get_store().add_attribute_user(DEPENDENCYRESPONSIBILITY2$22);
            }
            target.set(dependencyResponsibility2);
        }
    }
    
    /**
     * Unsets the "dependencyResponsibility" attribute
     */
    public void unsetDependencyResponsibility2()
    {
        synchronized (monitor())
        {
            check_orphaned();
            get_store().remove_attribute(DEPENDENCYRESPONSIBILITY2$22);
        }
    }
}
